<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>

<script>

  function animal()
  {
      this.typeclass="动物";

      this.myname=function()
      {
          alert("请珍惜生命");
      }
  }
  function cat(name,color)
  {

/*  第一种方式继承animal
 animal.apply(this,arguments);*/

     //第2种方式 比较常用
      //原型先指向父类
      cat.prototype = new animal();
       //原型指向父类后，默认会使用父类的构造函数，所以要手工改回来
      cat.prototype.constructor = cat;

     //第3种方式 没写


    this.name=name;
    this.color=color;
    cat.prototype.subclassname="猫科动物";

  }

  function test()
  {

   var cat1=new cat();
   cat1.myname();
   alert(cat1.typeclass);
   alert(cat1.subclassname);


  }


</script>
<body>
<input type="button" value="测试 使用构造函数 构造对象" onclick="test()">


</body>
</html>